/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package porownywanieofertapp;

/**
 *
 * @author Wlodek
 */
public class Oferta implements java.lang.Comparable {

    private int cena;
    private double x;
    private double y;
    private int metraz;
    private boolean rozkladowe;
    private int[] zabudowa;
    private int rokBudowy;
    private String miasto;
    private String dzielnica;
    private String ulica;
    private String numerDomu;
    private int liczbaPokoi;
    private int pietro;
    private int[] stanPrawny;
    private String opis;

    @Override
    public String toString(){
        return "Cena: "+String.valueOf(this.cena)+"\n"+
                "Miasto: "+miasto+"\n"+
                "Liczba pokoi: "+liczbaPokoi+"\n"+
                "Czy rozkladowe: "+this.rozkladowe+"\n";
    }

    public int getCena() {
        return cena;
    }

    public void setCena(int cen){
        cena=cen;
    }

    public int getX() {
        return cena;
    }

    public void setX(double xx){
        x=xx;
    }

    public int getY() {
        return cena;
    }

    public void setY(double yy){
        y=yy;
    }
    public int getMetraz(){
        return metraz;
    }

    public void setMetraz(int met){
        metraz=met;
    }

    public boolean getRozkladowe() {
        return rozkladowe;
    }

    public void setRozkladowe(boolean roz){
        rozkladowe=roz;
    }

    public int[] getZabudowa() {
        return zabudowa;
    }

    public void setZabudowa(int[] zab){
        zabudowa=zab;
    }

    public int getRokBudowy() {
        return rokBudowy;
    }

    public void setRokBudowy(int rok){
        rokBudowy=rok;
    }

    public String getMiasto() {
        return miasto;
    }

    public void setMiasto(String mia){
        miasto=mia;
    }

    public String getDzielnica() {
        return dzielnica;
    }

    public void setDzielnica(String ss){
        dzielnica=ss;
    }

    public String getUlica() {
        return ulica;
    }

    public void setUlica(String ss){
        ulica=ss;
    }

    public String getNumerDomu() {
        return numerDomu;
    }

    public void setNumerDomu(String ss){
        numerDomu=ss;
    }

    public int getLiczbePokoi() {
        return liczbaPokoi;
    }

    public void setLiczbaPokoi( int lp){
        liczbaPokoi=lp;
    }

    public int[] getStanPrawny() {
        return stanPrawny;
    }

    public void setStanPrawny(int sp[]){
        stanPrawny=sp;
    }

    public int getPietro(){
        return pietro;
    }

    public void setPietro(int pi){
        pietro=pi;
    }

    public String getOpis() {
        return opis;
    }

    public void setOpis(String op){
        opis=op;
    }

    public Oferta getEstate(){
        Oferta e = new Oferta();
        return e;
    }

    public int compareTo(Object arg0) {
        if(this.getCena()!=((Oferta)arg0).getCena()){ //sortowanie po większej cenie
            return this.getCena()-((Oferta)arg0).getCena();
        }
        else if (this.getMetraz()!=((Oferta)arg0).getMetraz()){ //sortowanie po większym metrażu
                return ((Oferta)arg0).getMetraz()-this.getMetraz();
        }
        else if (this.getLiczbePokoi()!=((Oferta)arg0).getLiczbePokoi()){ //sortowanie po liczbie pokoi
                return ((Oferta)arg0).getLiczbePokoi()-this.getLiczbePokoi();
        }
        else if (this.getRokBudowy()!=((Oferta)arg0).getRokBudowy()){ //po roku budowy
                return ((Oferta)arg0).getRokBudowy()-this.getRokBudowy();
        }
        else if (this.getPietro()!=((Oferta)arg0).getPietro()){ //im mniejsze piętro, tym lepsza oferta
                return this.getPietro()-((Oferta)arg0).getPietro();
        }
        else if (this.getRozkladowe()!=((Oferta)arg0).getRozkladowe()){ //jeżeli pierwsze mieszkanie jest rozkładowe, to znaczy że jest lepsze
            if(this.getRozkladowe() == true)
                return 1;
            else return 0;
        }
        else return 0;
    }
}